Systems and methods for providing an on-demand entertainment service

ABSTRACT

The present invention provides systems and methods for, in some cases, supplementing a broadcast media service with an on-demand service.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No.11/002,205, filed Dec. 3, 2004 (now U.S. Pat. No. 7,617,295), which is acontinuation-in-part of U.S. patent application Ser. No. 10/339,425,filed on Jan. 9, 2003 (now U.S. Pat. No. 7,325,043), which claims thebenefit of U.S. Provisional Patent Application No. 60/390,312 (filedJun. 21, 2002) and U.S. Provisional Patent Application No. 60/395,360(filed Jul. 12, 2002) and which is a continuation-in-part of U.S. patentapplication Ser. No. 10/098,620, filed Mar. 18, 2002 (now U.S. Pat. No.7,783,722); this application also claims the benefit of U.S. ProvisionalPatent Application No. 60/612,618, filed Sep. 24, 2004. All of the abovereferenced applications and patents are incorporated herein by thisreference.

BACKGROUND OF THE INVENTION

1. Field of the Invention

This invention is related to entertainment and information system, and,more specifically, to broadcast, on-demand and/or personalizedentertainment and information systems.

2. Discussion of the Background

Broadcasters, such as music broadcasters (e.g., conventional radiostations and other broadcasters of music, video or multimedia works)must accommodate the tastes of a mass audience, and, as we all know, itis not possible to please all of the people all of the time; we eachhave our own unique likes and dislikes. Consequently, a broadcaster attimes may broadcast content that one or more members of the audience maynot prefer to consume.

One solution to this problem is to increase the number of radio stationsand/or the number of cable stations that carry music, and therebyincrease the likelihood that a listener will find a station that isplaying a “good” song. However, this is not a practical solution becausethere is only a finite amount of bandwidth available to broadcast music,and this bandwidth is already at or near capacity. Further, it isprohibitively expensive to create additional broadcast bandwidth.

SUMMARY OF THE INVENTION

The present invention provides, among other things, systems and methodsfor supplementing a broadcast media service with an on-demand andpersonalized media service. An on-demand media service is a service thatenables a user to select the precise content (e.g., music, video orother content) and/or type of content (e.g., genre and sub-genre) thatis transmitted by the service provider to the user, when a user desiressuch content. A personalized media service is a service that allows auser to have at least some degree of control over the content that istransmitted by the service provider to the user.

In one aspect, the present invention provides a system for providing anon-demand, personalized and a broadcast service to a plurality of users.In one embodiment, the system includes: a broadcast media source forbroadcasting a signal including plurality of broadcast media channels,wherein each broadcast channel is associated with a format; adistribution center including: a signal receiver system that receivesthe broadcast signal, an on-demand system, and a transmission systemthat (a) combines an output from the on-demand system with an outputfrom the signal receiver system to create a combined signal thatincludes the plurality of broadcast media channels and (b) transmits thecombined signal to a plurality of client systems via a distributionnetwork.

Preferably, the client systems are operable to (1) isolate at least oneof the channels within the combined signal, (2) provide audio dataincluded in the isolated channel to an audio system that reproduces theaudio for a user of the client system to hear, (3) provide video dataincluded in the isolated channel to a video system that displays thevideo data on a display device for the user to see, (4) providegraphical data included in the isolated channel to a video system thatdisplays the graphical data on a display device for the user to see, (5)display a user selectable button on the display device so that the userselectable button is displayed on the display device together with thevideo data, and (6) in response to the user of the client systemselecting the selectable button, communicate with the on-demand systemto initiate an on-demand session.

In some embodiments, in response to the user of the client systemselecting the selectable button, the client system transmits informationto the on-demand system, and, in response thereto, the on-demand systemtransmits a list of music videos to the client system.

The client system preferably displays the list of music videos on thedisplay device so that the user is able to select one or more of thelisted videos. In response to the user selecting one or more of thelisted videos, the client system transmits to the on-demand systeminformation identifying the music videos selected by the user. Afterreceiving the information identifying the music videos selected by theuser, the on-demand system creates a playlist of media assets. Aftercreating the playlist, the on-demand system transmits to the clientsystem, one at a time, the media assets included in the playlist.Preferably, for each video selected by the user there is a correspondingmedia asset in the playlist. Additionally, zero or more of the mediaassets included in the playlist may include commercial elements,promotional messages, etc.

In other embodiments, in response to the user of the client systemselecting the selectable button, the client system transmits to theon-demand system information identifying the user and/or the clientsystem, and, in response thereto, the on-demand system determineswhether there is included in a set of channel profiles one or morechannel profiles associated with the user and/or the client system.

If there is included in the set of channel profiles one or more channelprofiles associated with the user and/or the client system, then theon-demand system may transmit to the client system a list of the one ormore channel profiles. The client system may display the list to theuser and the user is able to select one of the listed channel profiles.In response to the user selecting a channel profile, the client systemmay transmit to the on-demand system information identifying the channelprofile selected by the user.

After receiving the information identifying the channel profile selectedby the user, the on-demand system may select one or more media assetsthat match the selected channel profile, establish an on-demand sessionwith the client system, and, after establishing the on-demand session,transmit to the client system the selected media asset(s). In someembodiments, the process of selecting additional media assets and thentransmitting those assets to the client system may continue for apredetermined or indefinite period of time. In this way, the system mayprovide a personalized entertainment system. Advantageously, in someembodiments, one or more of the selected media assets include commercialelements, promotional message, etc. For example, a selected media assetmay be a short (e.g., 30 second) video advertisement.

In another aspect, the present invention provides a method for providingan on-demand service to a user of a client system having a display. Inone embodiment, the method includes the steps of: displaying to the useron the display a user interface comprising a button associated with anon-demand service; in response to the user activating the button,transmitting information to an on-demand system, wherein the informationincludes information associated with the activated button; receiving atthe on-demand system the transmitted information; creating a playlist ofmedia assets after receiving the transmitted information, wherein theplaylist includes a first media asset and a second media asset;establishing an on-demand session with the client system after receivingthe transmitted information; transmitting from the on-demand system tothe client system the first media asset; reproducing the first mediaasset at the client system; transmitting from the on-demand system tothe client system the second media asset after transmitting the firstmedia asset; reproducing the second media asset at the client system;and terminating an on-demand session established with the client systemafter transmitting the second media asset.

The above and other features and advantages of the present invention, aswell as the structure and operation of preferred embodiments of thepresent invention, are described in detail below with reference to theaccompanying drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

The accompanying drawings illustrate various embodiments of the presentinvention and, together with the description, further serve to explainthe principles of the invention and to enable a person skilled in thepertinent art to make and use the invention.

FIG. 1 is a block diagram of a system for providing both an on-demand,personalized media service and a broadcast service to a plurality ofusers.

FIG. 2 is a flow chart illustrating a process.

FIG. 3 illustrates content that may be displayed to a user when theuser's client system is tuned to a broadcast music channel.

FIG. 4 illustrates a functional block diagram of one embodiment ofon-demand system 192.

FIG. 5 is a flow chart illustrating a process according to an embodimentof the invention.

FIG. 6 illustrates an example user interface.

FIG. 7 illustrates a process for creating the playlist according to anembodiment of the invention.

FIG. 8 illustrates three sets of scripts.

FIG. 9 illustrates an example user interface.

FIG. 10 illustrates an example user interface.

FIG. 11 is a flow chart illustrating a process according to anembodiment of the invention.

FIGS. 12-16 and 22 illustrate example user interfaces.

FIG. 17 is a flow chart illustrating a process according to anembodiment of the invention.

FIG. 18 illustrates an example user interface.

FIG. 19 illustrates example playlists.

FIG. 20 is a flow chart illustrating a process according to anembodiment of the invention.

FIG. 21 is a block diagram of a system for providing both an on-demand,personalized media service and a broadcast service to a plurality ofusers.

DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS

FIG. 1 is a block diagram of a system 100 for providing both anon-demand, personalized media service and a broadcast service to users101 a-n. System 100 includes one or more broadcast media sources 102 andone or more signal distribution centers 104. Each distribution center104 is coupled to a plurality of client systems 110 through adistribution network 108.

Broadcast media source 102 may broadcast a signal 112 to one or moredistribution centers 104. As shown in FIG. 1, media source 102 may use acommunications satellite 113 to transmit signal 112 to distributioncenter 104, but other communication methods may also be used.

Preferably, signal 112 contains several (e.g., about 40) broadcast mediachannels, with each channel being associated with one or more formats orcategories of media. For example if signal 112 contains 40 broadcastmusic channels, one of the broadcast channels may be associated with theJazz format while another may be associated with the Alternative Rockgenre. A channel includes audio and/or video data. A channel may alsoinclude application data, which may include, for example, meta-data,instructions and/or other application data. For example, a broadcastmusic channel may include an audio data stream corresponding to an audiowork (e.g., a song) and associated video data. The video data mayinclude images associated with the song (e.g., an image of the artistwho recorded the song). A channel may also include application data.

Distribution center 104 may be, for example, a cable head-end.Distribution center 104 may include one or more broadcast signalreceiving systems 120 for receiving signals transmitted from broadcastmedia source 102 as well as other signal sources. Distribution centermay also include a transmission system 122 for combining an output ofsignal receiving systems 120 and on-demand channels outputted byon-demand system 192 to generate a combined signal 125, which istransmitted to client systems 110 via distribution network 108.Accordingly, combined signal 125 may contain several broadcast channelsas well as several on-demand channels. In other embodiments,transmission system 122 does not combine the output of signal receivingsystems 120 and on-demand channels outputted by on-demand system 192 togenerate a combined signal 125, but rather takes the outputs andtransmits them to the client systems through the network.

Additionally, distribution center 104 may include a local ad insertion(LADI) system 177 coupled between a signal receiving system 120 andtransmission system 122. The LADI system is described in provisionalpatent application No. 60/623,246, filed on Nov. 1, 2004, the contentsof which is incorporated herein by this reference.

Distribution network 108 may include, for example, various amplifiers,bridges, routers, taps, drop cables, and/or other communicationsequipment. Additionally, distribution network 108 may include one ormore forms of a wireless network.

Client systems 110 are operable to isolate at least one of the channelswithin combined signal 125 and then provide the audio and video datacontained in the channel to an audio/video system 111, which reproducesthe audio/video for a user 101 to hear and/or view. A/V system 111preferably includes a display device (e.g., a TV or other displaydevice) for displaying the video portion of the channel. Additionally,systems 110 include a client software application that is operable todisplay user 101 selectable buttons on the same display system thatdisplays the video data. Although A/V system 111 is illustratedseparately from client system 110, it is contemplated that A/V system111 may be part of client system 110.

The client systems 110 may include, for example, a conventionalunidirectional or bi-directional set-top box or a computer equippedwith, at the least, an interface (e.g., tuner and demodulator) forreceiving information sent through distribution network 108. In anotherembodiment, the client system 110 may include a computer or similardevice which is equipped with an interface (network card or similar) forreceiving data packets (e.g., IP packets or other packets) sent throughnetwork 108.

Although FIG. 1 shows that all of the components of media-on-demandsystem 102 are included within distribution center 104, this need not bethe case as some or all of the components of media-on-demand system 102may be located remotely from distribution center 104.

In one embodiment, for at least one broadcast channel, media source 102performs the process 200 shown in FIG. 2. Process 200 includes a numberof steps. In step 202, media source 102 accesses a playlist associatedwith the broadcast channel. In step 204, media source 102 retrieves froma media library a media asset (e.g., a song or music video) included inthe playlist. In step 206, media source 102 transmits the media asset tothe distribution centers 104 (i.e., media asset is included in signal112). In step 208, media source 102 also includes in the signalapplication data associated with the broadcast channel.

In one embodiment, the media asset retrieved and transmitted by mediasource 102 contains only audio data, no video data. In this embodiment,media source 102 may create video data to complement the audio data andtransmit the video data with the audio data to the distribution centers(systems and methods for creating a visual complement of an audio workare described in U.S. Pat. No. 7,275,256, which is incorporated hereinby this reference). Thus, in one embodiment, for a given broadcastchannel, media source 102 transmits to the distribution centers 104audio data corresponding to a song, video data to complement the audiodata, and client application data.

Each distribution center 104 may retransmit some or all of this data toa plurality of client systems 110. The client systems 110 that are tunedto the given broadcast channel provide the audio and video data to A/Vsystem 111, which reproduces the audio and displays the video on adisplay device. Additionally, the client application data may instructthe client systems 110 tuned to the given broadcast channel to displayuser 101 selectable buttons on top of the video output. That is, theclient application data may control at least part of the user interfacedisplayed to the user 101. This feature is illustrated in FIG. 3.

FIG. 3 illustrates video content and buttons that may be displayed on anA/V system 111 display device when the corresponding client system 110is tuned to the given broadcast music channel. As shown in FIG. 3, thevideo content may include still images 302, 304 and text 306, 308, allof which may be related to the current audio content of the broadcastchannel. For example, still image 302 may be an image of the artist whorecorded the audio content and text 306 may provide information aboutthe audio content, such as the name of the song, album and artist. Asused herein, the term artist is used broadly to mean an individual or agroup of individuals (e.g., a rock band or jazz band).

As also shown in FIG. 3, buttons 311, 312, 313 and 314 may be displayedto the user 101. Button 311 is labeled “videos”, button 312 is labeled“my music”, and button 313 is labeled “concerts, interviews, etc.” Auser 101 who wishes to watch one or more specific videos can do so byactivating button 311, a user 101 who wishes to listen to a personalizedaudio channel can do so by activating button 311, and a user 101 whowishes to view/listen to other content (e.g., pre-recorded concerts,interviews, and other content) can do so by activating button 312.Although, four buttons are shown in FIG. 3, it is contemplated that moreor fewer buttons may be displayed.

As used herein, the term button includes, without limitation, anyselectable display element or well-defined area within an interface thatis activated (e.g., “clicked”) to select a command, such as, a hyperlinkor menu-option, wherein, when the element is activated by the user 101,the client system 110 may perform some action in response.

In some embodiments, a user 101 can “activate” a button 311-314 using aremote control (not shown) that communicates with client system 110 orusing a client system 110 control panel (not shown). For example, theuser 101 can press buttons on the remote control or control panel tohighlight a button and then after the button is highlighted press abutton labeled “ok” to thereby activate the button.

Additionally, in some embodiments, client system 110 may include aremote control having buttons corresponding to user interface buttons311-314, such that activating one of the corresponding buttons on theremote control has the same effect as activating the correspondingbutton 311-314. For example, the remote control may have a buttonlabeled “videos,” and pressing the “videos” button on the remote mayhave the same effect as activating button 311.

In response to a user 101 activating button 311, client system 110communicates with on-demand system 192 to initiate an on-demand session.For example, client system 110 may transmit to on-demand system 192information identifying the button activated by the user 101,information identifying the broadcast channel to which the user 101device was tuned when the user 101 activated the button, and informationidentifying the artist of the song that was playing when the user 101activated the button.

Referring now to FIG. 4, FIG. 4 illustrates a functional block diagramof one embodiment of on-demand system 192. As shown in FIG. 4, on-demandsystem 192 may include a media server 402, a media asset selector 404, aprofile management system 405, a media pump 408, and a storage system410 for storing user 101 created profiles 411, a collection of mediaassets 412, meta-data 414, which may be stored in a database, acollection of scripts 416, and user 101 data 418, which also may bestored in a database. Some or all of the media assets 412 may be linkedwith meta-data 414. For example, where a given media asset is a musicvideo or song, the given media asset may be linked with meta-data,wherein the meta-data includes information about the music video, suchas, the title, artist, genre, director, length, etc.

One or more computer and storage systems may be used to implementon-demand system 192. For example, one or more computer systems may beused to implement media server 402 while one or more other computersystems may be used to implement media asset selector 404. The computersystems may be co-located or located in several different facilities.Accordingly, media asset selector 404 and media server 402 may beimplemented in software and/or hardware.

In some embodiments, media server 402 is capable of outputting digitaldata streams at a constant rate to numerous client systems 110simultaneously. Media server may be implemented using a conventionalvideo-on-demand (“VOD”) or VOD-like server. In some embodiments, clientsystem 110 can buffer data so that media server 402 does not have totransmit at constant rates.

Storage system 410 may include one or more storage devices, such as harddisk drives, CD/DVD drives, and/or other storage devices. The storagedevices that make up storage system 410 may or may not be co-located,and each storage device may or may store only one type of information.For example, a first set of one or more storage devices may store mediaassets 412 and a second set of one or more storage devices may storescripts 416.

User 101 data 418 may include information about users 101. That is eachuser 101 may have associated user 101 data. For example, for each user101, the database of user 101 data may include: demographic informationabout the user 101 (e.g., age, sex, location, income), a list of themost recent (e.g., within the last 4 months) assets requested by theuser 101, a list of the most recent advertisements transmitted to theuser 101, information indicating whether the user 101 selected apredetermined asset a predetermined number of times within apredetermined period, etc.

Referring now to FIG. 5, FIG. 5 is a flow chart illustrating a process500, according to some embodiments, performed after the user 101activates “videos” button 311. As mentioned above, a user 101 mayactivate button 311 if the user 101 wishes to view one or more musicvideos. Process 500 may begin in step 502. In step 502, client system110 transmits information to on-demand system 192. The information mayinclude: (a) information identifying the channel to which client system110 was tuned when the user 101 activated button 110, (b) informationindicating that the user 101 activated button 311, and (c) informationidentifying the artist of the song that was playing when the user 101activated the button.

In step 504, on-demand system 192 transmits to client system 110 a listof the artist's music videos that are included in the media assetcollection 412. For example, the user 101 may have selected button 311at a point in time when the user 101 was tuned to a broadcast musicchannel that was playing a song by the artist U2, in which case,on-demand system 192 would transmit to client system 110 a list of zeroor more of U2's music videos. Preferably, on-demand system 192 does notinclude in the list the titles of any videos that are not included inmedia asset collection 412.

In step 506, client system 110 receives the list and displays the listin a display area of a user interface displayed to the user 101. Theuser interface includes selectable buttons. FIG. 6 illustrates anexemplary user interface 600 that may be displayed in step 506.

Referring now to FIG. 6, user interface 600 includes a display area 620for displaying the list of music video titles 621 received fromon-demand system 192. User interface 600 also includes buttons 601-608.

In step 508, client system 110 waits for the user 101 to take someaction. For example, the user 101 may select to view one or more of thelisted videos. To do this, the user 101 may highlight one or more of thelisted video titles and then activate a button on the remote control(not shown) that communicates with client system 110. If the user 101selects to view one or more of the listed videos then control may passto step 510. In some embodiments, to select more than one video, theuser 101 may first have to activate “create playlist” button 607. Inthese embodiments, selecting button 607 enables the user 101 to selectup to X videos, where X is greater than or equal to 2. In one example,selecting button 607 enables the user 101 to select up to 10 videos.Additionally, in these embodiments, control may not pass to step 510until the user 101 has indicated that he/she is done selecting videos. Aselectable button may be displayed to the user 101 for this purpose.Such a button may be labeled “start playlist” or “done selecting.”

In step 510, client system 110 transmits to on-demand system 192information identifying the video(s) selected by the user 101. In step512, system 192 creates a playlist of media assets (FIG. 7 illustrates aprocess for creating the playlist). That is, system 192 determines themedia assets that it will transmit to client system 110 in response toreceiving from client system 110 the information identifying thevideo(s) selected by the user 101. Preferably, the playlist includes thevideo(s) selected by the user 101 and zero or more other media assets.For example, the playlist may include one or more short advertisementsin addition to the video(s) selected by the user 101.

In step 516, media server 402 transmits (e.g., by streaming) one at atime the media assets included in the playlist. Preferably, the mediaassets are transmitted in playlist order. In this way, when a user 101selects to watch a video, the user 101 may first see a shortadvertisement, then one of the selected videos, then another shortadvertisement, etc.

In some embodiments, a user 101 can “link” from a playing asset toanother asset. For example, in one embodiment, a user 101 may activate aparticular button (on the remote control or displayed on the displayscreen) while listening to/watching the asset that is being transmittedin step 516. Activating the particular button may cause client system110 to transmit to on-demand system 192 a command associated with theactivated button. In response to receiving the command, on-demand system192 may cease transmitting whichever asset is currently beingtransmitted (“the current asset”) and transmit another asset. As aspecific example, the particular button may be a “skip” or “next”button, in which case, in response to receiving the command, on-demandsystem 192 ceases transmitting the current asset and transmits an assetincluded in the playlist that has not already been transmitted. If theplaylist is an ordered list of assets, then on-demand system 192transmits the asset that follows the asset that was playing when theuser 101 activated the button.

Additionally, in some embodiments, activating a particular button maycause client system 110 to transmit to on-demand system 192 an assetidentifier associated with an asset. In response to receiving the assetidentifier, on-demand system 192 may cease the current asset andtransmit the asset identified by the identifier. In this way, the user101 can link from one asset that is in the playlist to another assetthat may not be in the playlist. For example, the current asset may be apromotion for a newly added video and the asset identifier is anidentifier that identifies the new added video. Thus, while the user 101is watching the promotion, the user 101 can simply just activate abutton to see the newly added video that is the subject of thepromotion.

Preferably, after the identified asset has been fully transmitted to theclient system 110, on-demand systems resumes playing the playlist. Thatis, after the identified asset has been fully transmitted, on-demandsystem 192 transmits an asset included in the playlist that has notalready been transmitted. If the playlist is an ordered list of assets,then on-demand system 192 transmits the asset that follows the assetthat was playing when the user 101 activated the button.

Referring now to FIG. 7, FIG. 7 is a flow chart illustrating a process700 performed by media asset selector 404, according to one embodiment,for creating a playlist in response to a user 101 selecting one or morevideos. Process 500 may begin in step 702, where media asset selector404 receives data indicating the selection(s) made by the user 101and/or data identifying the user 101 and/or client system 110 (e.g.,user 101-id associated with the user 101 or a device id associated withthe client system 110). Thus, for example, if the user 101 selected onemusic video, then media asset selector 404 may receive in step 702 dataidentifying the selected music video. The data may include the name ofthe music video or a unique code associated with the music video orchannel.

In step 704, media asset selector 404 selects one of the scripts 416.Scripts 416 instruct media asset selector 404 as to which media assetsshould be included in the media asset package. On-demand system 192 mayinclude a set of scripts or multiple sets of scripts. Accordingly, insome embodiments, each script has a priority assigned to it. Thisfeature is illustrated in FIG. 8. FIG. 8 shows three sets of scripts,sets 801, 802 and 803. FIG. 8 also shows that each script in each setmay be assigned a priority value. For example, scripts 810 and 811 ofset 801, scripts 820 and 821 of set 802, and script 830 of set 803 areeach assigned a priority value of “1” and scripts 812 and 813 of set 801and scripts 822 and 823 of set 802 are each assigned a priority value of“2”. In this example, the lower the priority value, the “higher” thepriority. So, scripts 810, 811, 820, 821 and 830 have the “highest”priority.

In some embodiments, in step 704, media asset selector 404 selects thescript having the highest priority (if two or more scripts have the samepriority, then the selector may randomly select one of the high priorityscripts).

In step 706, media asset selector 404 interprets the selected script.That is, media asset selector 404 performs actions as instructed by thescript. Accordingly, the script includes instructions that instructmedia asset selector 404 to take certain actions, such as, for example:performing logical operations, comparing values, retrieving data from adatabase, writing data to a file, selecting another script to interpret,and selecting certain media assets to include in a playlist. Because ascript may instruct media asset selector 404 to include one or moreassets in a playlist, a playlist may be partially or fully specified asa result of interpreting the script.

In some embodiments, each script 416 is written in a language similar toJavascript or other well-known scripting languages. Thus, the scriptsprovide, among other things, looping and decision making controlstructures (e.g., IF/WHILE statements), thereby enabling a script authorto implement detailed and/or complex logic flow in asset selection.

After step 706, the process may end or may proceed to step 708. Theprocess may end if, after interpreting the script, a complete playlistis specified. In step 708, media asset selector 404 selects anotherscript. The script selected in step 708 may be the next highest priorityscript or a script identified by the first script. That is, the firstscript may include an instruction instructing media asset selector 404to next select and interpret a specific script. After step 708, theprocess returns to step 706.

Because the media assets to be included in a playlist are selected basedon one or more scripts, the selector system 404 is highly flexible andeasy to maintain.

Referring back to FIG. 6, buttons 601-608 enable a user 101 to find thevideo(s) the user 101 would like to watch. For example, if the user 101is interested in selecting a newly added video, the user 101 may selectbutton 602. In response to user 101 selecting button 602, client system110 transmits to on-demand system 192 information indicating that theuser 101 activated button 602 (step 520). In response, on-demand system192 determines the newly added videos for the currently selected format(step 522). This information may be stored in a database within system192.

In the situations where the user 101 activated videos button 311 whenclient system 110 was tuned to a particular broadcast music channel,then, initially, the currently selected format is format of thatparticular broadcast channel. So, for example, if the user 101 hadclient system 110 tuned to the “R&B and Hip-Hop” broadcast music channelwhen the user 101 activated button 311, then, until changed by the user101, the currently selected format is “R&B and Hip-Hop.” The user 101can change the selected format by activating the “change format button”608 and selecting a new format. Additionally, the user 101 can selectbutton 606 to select all formats. By selecting “all formats” button 606,the user 101 is given the option to select videos across all formats ofmusic. In step 526, on-demand system 192 transmits to client system 110a list of the newly added videos determined in step 522. After step 526,control passes back to step 506.

If the user 101 is interested in selecting a popular video, the user 101may select button 603. In response to user 101 selecting button 603,client system 110 transmits to on-demand system 192 informationindicating that the user 101 activated button 603 (step 528). Inresponse, on-demand system 192 determines the local top 10 videos forthe currently selected format (step 530). This information may bedetermined from information stored in a database. Accordingly, on-demandsystem 192 may record all user 101 video selections so that the popularvideos can be determined. In step 531, on-demand system 192 transmits toclient system 110 a list of the videos determined in step 530. Afterstep 531, control passes back to step 506.

If the user 101 is interested in selecting a video from a particularsub-category of the currently selected format, the user 101 may activatebutton 604. In response to user 101 selecting button 604, client system110 transmits to on-demand system 192 information indicating that theuser 101 activated button 604 (step 532). In response, on-demand system192 transmits to client system 110 a list of the sub-categories of thecurrent format (step 534). Client system 110 displays the list ofsub-categories to the user 101 so that the user 101 can select asub-category (step 536) (see FIG. 9). In response to a user 101selecting a sub-category, client system 110 transmits to on-demandsystem 192 information indicating the sub-category selected by the user101 (step 538). In response, on-demand system 192 transmits to clientsystem 110 a list of videos associated with the selected sub-category(step 540). After step 540, control passes back to step 506.

If the user 101 is interested in selecting a video from a particularartist associated with the currently selected format, the user 101 mayactivate button 605. In response to user 101 selecting button 605,client system 110 transmits to on-demand system 192 informationindicating that the user 101 activated button 605 (step 542). Inresponse, on-demand system 192 transmits to client system 110 a list ofthe artists associated with the current format (step 544) (if the user101 had selected button 606—all formats—followed by button 605, then thelist will include artists associated with all formats). Client system110 displays the list of artists to the user 101 so that the user 101can select an artist (step 546) (see FIG. 10). In response to a user 101selecting an artist, client system 110 transmits to on-demand system 192information indicating the artist selected by the user 101 (step 548).In response, on-demand system 192 transmits to client system 110 a listof videos associated with the artist (step 550). After step 550, controlpasses back to step 506.

Referring back to FIG. 3, a user 101 who wishes to initiate apersonalized on-demand session (i.e., a “personalized channel”) can doso by activating button 312. A “personalized channel” may be an audiochannel, a video channel or in some embodiments, a combination of audioand video channels. Referring now to FIG. 11, FIG. 11 is a flow chartillustrating a process 1100, according to some embodiments, performed inresponse to a user 101 activating button 312, which is displayed on adisplay device of or connected to client system 110.

Process 1100 may begin in step 1102, where a determination is made as towhether on-demand system 192 has any personalized channel profiles 411associated the user 101's client system 110 or with the user 101. Ifon-demand system 192 does not have any such personalized channelprofiles 411, control may pass to step 1132, otherwise control may passto step 1104.

In step 1104, on-demand system 192 determines the names of thepersonalized channel profiles associated with the user 101 or the user101's client system 110. In step 1106, on-demand system 192 transmits toclient system 110 the list of determined names. In step 1107, clientsystem 110 displays the names of the personalized channels in a userinterface that is displayed on the display device.

FIG. 12 illustrates an exemplary user interface 1200 that may bedisplayed in step 1108. As shown in FIG. 12, the names of severalpersonalized video channel profiles are listed in one display area 1202and the names of several personalized audio channel profiles are listedin another display area 1204. Also displayed to the user 101 aremenu-options 1211-1214.

In step 1108, client system 110 waits for the user 101 to take someaction. At this point, the user 101 has several options. The user 101may elect to play, create, modify and delete one of the channel profiles(or simply “channel” for short). To play, modify or delete one of thechannels, the user 101 may highlight the name of the channel the user101 wants to play, modify or delete, and then activate the appropriatebutton 1211-1214 by using a remote control interfaced with client system110, as is well known in the art.

If the user 101 elects to play one of the listed channels then controlmay pass to step 1110. In step 1110, client system 110 transmits toon-demand system 192 information identifying the channel selected by theuser 101 and information indicating that the user 101 desires “play” thechannel profile. For example, the information may include the name ofthe channel or an identifier uniquely associated with the channel and a“play” command.

In step 1112, system 192 retrieves the identified channel profile, and,in step 1113, creates a playlist of one or more media assets based, atleast in part, on the contents of the selected channel profile. That is,on-demand system selects one or more media assets based, at least inpart, on the channel profile. As discussed above, on-demand system mayinterpret one or more scripts to create the playlist. Accordingly, insome embodiments, on-demand system 192 may include a script for creatingplaylists based on channel profiles. Preferably, the playlist created instep 1113 includes a work or works that match the profile selected bythe user 101. In this way, the playlist will likely include works thatthe user 101 will enjoy. Additionally, the playlist may include orconsist of one or more short advertisements (e.g., a promotionalmessage).

In step 1116, media server 402 transmits (e.g., by streaming) one at atime the media assets included in the playlist. Preferably, the mediaassets are transmitted in playlist order. In step 1118, on-demand systemadds additional media assets to the play list if necessary. Additionalmedia assets may need to be added to the playlist if the end of the playlist is approaching. On-demand system 192 may approach the end of theplaylist if, within a certain amount of time from initiating thepersonalized session, the user 101 does not indicate to client system110 that the user 101 wishes to terminate the personalized session. Thisamount of time, of course, depends on the length of the playlist.

If the user 101 elects to delete one of the listed channel profiles,then control may pass to step 1122. In step 1122, client system 110transmits to on-demand system 192 information identifying the channelprofile selected by the user 101 and information indicating that theuser 101 desires to delete the channel profile. In step 1124, on-demandsystem deletes the profile.

If the user 101 elects to modify one of the listed channel profiles,then control may pass to step 1126. In step 1126, client system 110transmits to on-demand system 192 information identifying the channelprofile selected by the user 101 and information indicating that theuser 101 desires to modify the channel profile. In step 1128, on-demandsystem enables the user 101 to modify the profile by, for example,adding formats to the profile or removing formats from the profile.

If the user 101 elects to create a new personalized channel, thencontrol may pass to step 1130. In step 1130, client system 110 transmitsto on-demand system 192 information indicating that the user 101 desiresto create a new channel profile. In step 1132, on-demand system 192transmits to client system 110 a list of music formats. In step 1134,client system 110 receives the list and displays the list in a displayarea of a user interface displayed to the user 101.

FIG. 13 illustrates an exemplary user interface 1300 that may bedisplayed in step 1134. As shown in FIG. 13, the names of several musicformats are listed in a display area 1302.

In step 1136, the user 101 elects whether he/she wants to create a videochannel profile or an audio channel profile. To select a video channelprofile, the user 101 would, of course, activate videos button 1311, andto select an audio channel profile, the user 101 would activate audiobutton 1312.

In step 1138, the user 101 selects the format(s) that he/she would liketo include in the profile and then selects the “continue” button 1313.For example, the user 101 may wish to create a channel profile thatincludes the “Classic R&B”, “Gospel” and “R&B” “Hip Hop” formats. Inresponse to the user 101 selecting a format(s) and activating button1313, client system 110 may transmit to on-demand system 192 informationindicating the format(s) selected by the user 101 (step 1140). In step1142, on-demand system 192 may transmit to client system 110 a list ofsub-categories for each format selected by the user 101 and clientsystem displays the list(s) to the user 101. FIG. 14 illustrates a userinterface 1400 that may be displayed in step 1142. User interface 1400enables the user 101 to select one or more sub-categories for eachcategory of music selected in step 1138. When the user 101 is finishedselecting the sub-categories the user 101 may activate continue button1413.

In step 1144, client system 110 displays to the user 101 a userinterface that enables the user 101 to set the mix for the channel. Thatis, it enables the user 101 give a weight to each format selected instep 1138. FIG. 15 illustrates a user interface 1500 that may bedisplayed in step 1144. When the user 101 is finished setting the mixfor the channel, the user 101 may activate continue button 1513.

In step 1146, client system 110 displays to the user 101 a userinterface that enables the user 101 to set a name for the channel. FIG.16 illustrates a user interface 1600 that may be displayed in step 1148.As shown in FIG. 16, the user interface includes a keypad 1602. The user101 may name a channel by selecting characters (letters, numbers, etc)from keypad 1602 using the remote control. When the user 101 is finishedsetting the name for the channel, the user 101 may activate continuebutton 1613. After step 1146, control may pass back to step 1107 or tostep 1113.

Referring back to FIG. 3, a user 101 who wishes to watch a previouslyrecorded program can do so by activating button 313. Referring now toFIG. 17, FIG. 17 is a flow chart illustrating a process 1700, accordingto some embodiments, performed in response to a user 101 activatingbutton 313. Process 1700 may begin in step 1702. In step 1702, clientsystem 110 transmits information to on-demand system 192. Theinformation may include information indicating that the user 101activated button 313.

In step 1704, on-demand system 192 transmits to client system 110 a listof pre-recorded programs that are included in the media asset collection412. The pre-recorded programs may included pre-recorded concerts,interviews, other music related programs, etc. Along with the set ofprogram titles, on-demand system 192 may also transmit to client system110 information regarding each program, such as a short description ofthe program.

In step 1706, client system 110 receives the set of program titles anddisplays the them in a display area of a user interface displayed to theuser 101. FIG. 18 illustrates an exemplary user interface 1800 that maybe displayed in step 1706. Referring now to FIG. 18, user interface 1800includes a display area 1820 for displaying the list of program titlesreceived from on-demand system 192.

In step 1708, client system 110 waits for the user 101 to take someaction. For example, the user 101 may select to view one or more of thelisted programs. To do this, the user 101 may highlight one or more ofthe listed program titles and then activate a button on a remote control(not shown) that communicates with client system 110. In response to theuser 101 highlighting one of the displayed program titles, client system110 may display in a display area 1821 of user interface 1800information pertaining to the selected program, such as a shortdescription of the program. If the user 101 selects to view one or moreof the listed programs then control may pass to step 1710.

In step 1710, client system 110 transmits to on-demand system 192information identifying the program(s) selected by the user 101. In step1712, system 192 creates a playlist of media assets (FIG. 7 illustratesa process for creating the playlist). That is, system 192 determines themedia assets that it will transmit to client system 110 in response toreceiving from client system 110 the information identifying theprogram(s) selected by the user 101. Preferably, the playlist includesthe program(s) selected by the user 101 and one or more other mediaassets. For example, the playlist may include one or more shortadvertisements in addition to the program(s) selected by the user 101.

In some embodiments, a program may be divided into two or more segments.Each segment may be media asset. In these embodiments, on-demand system192 may create a playlist wherein an advertisement(s) or other mediaasset(s) is/are positioned between two segments of the program. Theadvertisement or other media asset may be selected based on one or morecriteria. As an example, advertisements can be selected based on thebroadcast channel to which the user 101's client system was last tuned.Additionally, information about the user 101 can influence the selectionof an advertisement. Such information about the user 101, which may bestored, in user 101 data 418, includes the user 101's age, sex,location, listening/viewing history and advertisements the user 101 hasalready seen.

Thus, in many embodiments, if two different users select the sameprogram, at the same time or at different times, on-demand system 192may create one playlist for the first user 101 and a different playlistfor the second user 101, where the first playlist is tailored to thefirst user 101 and the second playlist is tailored to the second user101. So, even if two users select the same program, the users may have adifferent viewing experience. As a specific example, if the first user101 is under the age of 20 and the second user 101 if over the age of30, then the advertisements, if any, included in the playlist for thefirst user 101 may be different than the advertisements, if any,included in the playlist for the second user 101. This feature isillustrated in FIG. 19, which shows two exemplary playlists 1901 and1902, one for a first user 101 and one for a second user 101, where bothusers selected the same program, which program, in this example, wasdivided into three segments.

In step 1716, media server 402 transmits (e.g., by streaming) one at atime the media assets included in the playlist. Preferably, the mediaassets are transmitted in playlist order. In this way, when a user 101selects to watch a program, the user 101 may first see a shortadvertisement, then a segment of the selected program, then anothershort advertisement, etc.

Referring back to FIG. 3, a user 101 who wishes to hot link from abroadcast audio channel to video-on-demand video can do so by activatingbutton 314. Although button 314 is shown as a distinct button, in someembodiments, button 314 may simply be a hotspot over display element 302or 304, for example.

Referring now to FIG. 20, FIG. 20 is a flow chart illustrating a process2000, according to some embodiments, performed in response to a user 101activating button 314.

Process 2000 may begin in step 2002. In step 2002, client system 110transmits information to on-demand system 192. The information mayinclude information indicating that the user 101 activated button 314.Preferably, the information also includes a video identifier thatidentifies a video. Preferably, the identified video is related to thecontent of the broadcast channel to which client system 110 was tunedwhen the user 101 activated the button 314. For example, if the contenton the broadcast channel is from Artist X, then the identified video maybe a music video from Artist X.

In step 2004, system 192 creates a playlist of media assets. That is,system 192 determines the media assets that it will transmit to clientsystem 110 in response to receiving from client system 110 the musicvideo identifier. Preferably, the playlist includes the identified videoand zero or more other media assets. For example, the playlist mayinclude one or more short advertisements in addition to the identifiedvideo.

In step 2008, media server 402 transmits (e.g., by streaming) one at atime the media assets included in the playlist. Preferably, the mediaassets are transmitted in playlist order. In step 2012, the clientsystem 110 returns (i.e., tunes) to the broadcast channel to which itwas tuned when the user 101 activated button 314.

In some embodiments, it is not necessary for a user 101 to firstconfigure client system 110 to “tune” to a broadcast media channelbefore user 101 can enjoy the services of on-demand system 192. Forexample, in some embodiments, user 101 can cause client system 110 tocommunicate with on-demand system 192 at any time by, for example,activating a pre-defined button on the remote control or control panel.

For example, the user 101 may at any time cause client system 110 tosend a message to on-demand system indicating that the user 101 wouldlike to see a menu of on-demand services. In response, on-demand system192 may respond by transmitting to client system 110 informationregarding the available on-demand services.

Client system 110 may then display a user interface 2200 (see FIG. 22)that enables user 101 to select one of the available on-demand services.User interface may include buttons that when activated cause the same orsubstantially the same effect as activating buttons 311-314. Forexample, user interface 2200 may include a button 2201, which is labeled“videos”, a button 2202, which is labeled “MyMusic,” and a button 2203,which is labeled “concerts, interviews, etc.”

After a user activates the “videos” button 2201, client system 110 maydisplay to user 101 user interface 600, wherein a list of music formats(e.g., rock, alternative, jazz, etc.) is displayed in display area 620.Client system 110 enables user to select one of the listed formats.After the user 101 selects a format, client system 110 may communicatethe selection to on-demand system 192 and subsequently receive fromon-demand system 192 a list of artists associated with the format (seestep 544 of process 500). That is, process 500 may be performed at thispoint beginning with step 544. After the user activates the “MyMusic”button 2202, process 1100 may be performed. Similarly, after the useractivates button 2203 process 1700 may be performed.

Referring now to FIG. 21, FIG. 21 illustrates another embodiment of thepresent invention. FIG. 21 is a block diagram of a system 2100 forproviding both an on-demand, personalized media service and a broadcastservice to users 101. System 2100 includes many of the same componentsas system 100. In system 2100, user 101 interacts with a set-top-box(STB) 2120 coupled to a conventional television (TV). STB 2120 has thefunctionality of client system 110 described above.

User 101 also interacts with a personal computer (PC) 2126, which iscoupled to a modem 2124, which may be a conventional cable modem. Asused herein, the term “personal computer” should be construed broadly toinclude any computing system capable of executing application software,such as a web browser or a media player or other applications.Preferably modem 2124 and STB 2120 share a cable 2125 to connect tonetwork 2108, which may be a cable-tv (CATV) network. In thisembodiment, user 101 can have personalized channels transmitted toeither of STB 2120 and PC 2126.

PC 2126 preferably includes a web browser program and media player. Theweb browser and media player may communicate with a web server 2102. Forexample, in response to a user 101 action, the web browser or mediaplayer may send a request to web server 2102. In response, web server2102 may determine the personalized channel profiles 411 that areassociated with the user 101 and transmit the names of the personalizedchannels to PC 2126, which then displays the names on a display deviceof the PC. The user 101 can then select one the personalized channels.In response, PC 2126 transmits the selection to web server 2120.On-demand system 192 will then start streaming to PC 2126 media based onthe channel selected by the user 101. Accordingly, the same channelprofile 411 can be used to stream personalized media to STB 2120 or PC2126.

While various embodiments/variations of the present invention have beendescribed above, it should be understood that they have been presentedby way of example only, and not limitation. Thus, the breadth and scopeof the present invention should not be limited by any of theabove-described exemplary embodiments, but should be defined only inaccordance with the following claims and their equivalents.

Additionally, while the processes described above and illustrated in thedrawings are shown as a sequence of steps, this was done solely for thesake of illustration. Accordingly, unless indicated otherwise, the stepsneed not be performed in the order shown. Further, it is contemplatedthat some steps may be added and other steps omitted.

1. A system for providing an on-demand, personalized media service and abroadcast service to a client system, comprising: a distributionnetwork; and a distribution center including: (1) a signal receiversystem that receives a broadcast signal transmitted from a broadcastmedia source, said broadcast signal including plurality of broadcastmedia channels, (2) an on-demand system, and (3) a transmission systemthat takes output from the on-demand system and output from the signalreceiver system and transmits the outputs to the client system via thedistribution network, wherein the output from the signal receivingsystem includes the plurality of broadcast media channels, the clientsystem is operable to: (1) isolate at least one of the broadcast mediachannels, (2) provide audio data included in the isolated channel to anaudio system that reproduces the audio for a user of the client systemto hear, (3) provide video and/or graphical data included in theisolated channel to a video system that displays the video and/orgraphical data on a display device for the user to see, (4) display auser selectable element on the display device so that the first userselectable element is displayed on the display device together with thevideo and/or graphical data obtained from the isolated channel, and (5)in response to the user of the client system selecting the selectableelement, transmit a message to the on-demand system to initiate anon-demand session, wherein the message comprises meta informationassociated with the user selectable element, and the on-demand system isconfigured such that, in response to receiving a message transmittedfrom the client system where the message comprises meta informationassociated with the user selectable element, the on-demand system (a)uses the meta information to select an asset, (b) establishes anon-demand session with the client system and (c) transmits the selectedasset to the client system as part of the on-demand session.
 2. Thesystem of claim 1, wherein the plurality of broadcast media channelscomprises a set of digital music channels.
 3. The system of claim 1,wherein the meta information includes information identifying abroadcast media channel.
 4. The system of claim 1, wherein the audiodata is associated with an artist and music format, and the metainformation comprises information for identifying the artist and/ormusic format.
 5. The system of claim 1, wherein the user selectableelement is a distinct button.
 6. The system of claim 1, wherein the userselectable element is a hotspot over a display element.
 7. The system ofclaim 1, wherein the asset is a music video and the on-demand system isconfigured such that it transmits the selected asset to the clientsystem by streaming the asset to the client system.
 8. The system ofclaim 1, wherein the on-demand system is configured such that, inresponse to receiving the message transmitted from the client system,the on-demand system transmits not only the selected asset to the clientsystem, but also transmits another selected asset to the client systemas part of the on-demand session.
 9. The system of claim 8, wherein theon-demand system is configured to select the another selected asset byinterpreting one or more scripts.
 10. The system of claim 8, wherein theanother selected asset is selected based, at least in part, on a profileassociated with the user.
 11. A method for providing an on-demandservice, comprising: (a) receiving a broadcast signal at a distributioncenter, the broadcast signal including a broadcast media channel; (b)transmitting from the distribution center to a client system via adistribution network the broadcast media channel, wherein the clientsystem is operable to isolate the broadcast media channel and provideaudio data included in the isolated channel to an audio system thatreproduces the audio data for a user of the client system to hear; (c)transmitting from the distribution center to the client systeminformation that causes the client system to: (c)(1) display a userselectable element on a display device while providing the audio data tothe audio system so that the user can see the selectable element whilelistening to the audio data included in the isolated channel; and (c)(2)transmit a message to an on-demand system to initiate an on-demandsession in response to the user of the client system selecting theselectable element, wherein the message comprises meta informationassociated with the user selectable element; (d) receiving the messagecomprising the meta information; and (e) in response to receiving themessage, (e1) using the meta information included in the message toselect an asset, (e2) establishing an on-demand session with the clientsystem and (e3) transmitting, from the on-demand system to the clientsystem, the selected asset as part of the on-demand session.
 12. Themethod of claim 11, wherein the broadcast media channel is a digitalmusic channel.
 13. The method of claim 11, wherein the meta informationincludes information identifying the broadcast media channel.
 14. Themethod of claim 11, wherein the audio data is associated with an artistand music format, and the meta information comprises information foridentifying the artist and/or music format.
 15. The method of claim 11,wherein the user selectable element is a distinct button.
 16. The methodof claim 11, wherein the user selectable element is a hotspot over adisplay element.
 17. The method of claim 11, wherein the step oftransmitting the asset to the client system comprises streaming theasset to the client system.
 18. The method of claim 11, furthercomprising: selecting another asset; and transmitting the another assetto the client system as part of the on-demand session in response toreceiving the message transmitted from the client system.
 19. The methodof claim 18, wherein the step of selecting the another asset comprisesinterpreting one or more scripts.
 20. The method of claim 18, whereinthe another selected asset is selected based, at least in part, on aprofile associated with the user.
 21. The method of claim 11, furthercomprising causing the client system to display a second selectableelement.
 22. The method of claim 21, further comprising: providinginformation to the client system that causes the client system totransmit to the on-demand system information indicating that the secondelement was selected in response to the user selecting the secondelement; and after the on-demand system receives the informationindicating that the second element was selected, transmitting from theon-demand system to the client system information identifying a set ofassets.
 23. The method of claim 22, wherein each asset in said set isassociated with a format associated with the broadcast media channelisolated by the client system when the user selected the second element.24. The method of claim 21, further comprising: providing information tothe client system that causes the client system to transmit to theon-demand system information indicating that the second element wasselected in response to the user selecting the second element; and afterthe on-demand system receives the information indicating that the secondelement was selected, transmitting from the on-demand system to theclient system information identifying a set of popular music videoswithin an area in which the client system is located.
 25. The method ofclaim 21, further comprising: providing information to the client systemthat causes the client system to transmit to the on-demand systeminformation indicating that the second element was selected in responseto the user selecting the second element; and after the on-demand systemreceives the information indicating that the second element wasselected, transmitting from the on-demand system to the client systeminformation identifying a set of sub-categories associated with a formatassociated with the broadcast media channel isolated by the clientsystem when the user selected the second element.
 26. The method ofclaim 11, further comprising the steps of: providing information to theclient system that causes the client system to transmit to the on-demandsystem information identifying the user and/or the client system inresponse to the user selecting the selectable element; and afterreceiving the information identifying the user and/or the client system,determining whether there is included in a set of channel profiles oneor more channel profiles associated with the user and/or the clientsystem.